Skip to content

docs: update Flow user guide - #2799

Open
discord9 wants to merge 1 commit into
mainfrom
docs/update-flow-user-guide
Open

docs: update Flow user guide#2799
discord9 wants to merge 1 commit into
mainfrom
docs/update-flow-user-guide

Conversation

@discord9

Copy link
Copy Markdown
Contributor

What changed

  • update the Nightly Flow user guide to match current batching and scheduled full-query behavior
  • document EVAL INTERVAL, planner-valid joins, subqueries, SQL CTEs, missing-source deferral, incremental reads, and Flow runtime inspection
  • clarify sink schema and update_at behavior for SQL and TQL flows
  • correct EXPIRE AFTER scope, stale SQL examples, cleanup commands, and English/Chinese wording

Verified against GreptimeDB upstream/main at 144f83528db8648bc5607fdc65c249bbfa3c7ffc.

Scope

  • Documentation versions: Nightly
  • Languages: English, Chinese

Verification

  • git diff --check
  • pnpm build
  • DOC_LANG=zh pnpm build
  • DOC_LANG=en pnpm check:links
  • DOC_LANG=zh pnpm check:links
  • independent source-based review of the eight-file diff

Checklist

  • I verified the content against the applicable GreptimeDB version.
  • I updated the relevant documentation versions and languages, or explained why not.
  • I checked changed links and anchors.
  • I updated navigation when the document structure changed. No navigation change was required.

Signed-off-by: discord9 <discord9@163.com>
```

The clauses must appear in the order shown: `EXPIRE AFTER` comes before `EVAL INTERVAL`.
`EVAL INTERVAL` schedules repeated evaluation of the full query. Scheduled SQL flows can use joins,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

EVAL INTERVAL does not schedule every SQL Flow in the current implementation. determine_flow_type still routes non-aggregate/non-DISTINCT SQL to the legacy streaming engine, and that engine explicitly ignores eval_interval; only batching SQL/TQL enters the scheduled loop. A projection or non-aggregate join can therefore accept this clause but still run with streaming semantics instead of periodic full-query evaluation. Please scope this statement to batching SQL (and explain how a query qualifies), or make EVAL INTERVAL force batching before documenting this contract.

### Defer creation when a source is missing

By default, creating a Flow fails if one of its source tables does not exist. Set
`defer_on_missing_source` to `true` to persist a pending Flow instead of failing. The Flow is not scheduled while its

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This reads as though the pending Flow will become scheduled once the table appears. At this head, pending flows are persisted without flownode routes, source-table creation does not revisit them, and pending-to-active CREATE OR REPLACE is explicitly rejected. Please document the actual activation workflow (currently dropping and recreating the Flow after all sources exist) instead of implying automatic activation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants